<script setup lang="ts">
import { onLaunch, onShow, onHide } from "@dcloudio/uni-app";
import { useUserStore } from '@/store/modules/user';
import { getToken } from '@/utils/auth';

// 检查当前页面是否是登录页
const isLoginPage = () => {
  // #ifdef H5
  return window.location.hash.includes('/pages/login');
  // #endif

  // #ifndef H5
  const pages = getCurrentPages();
  return pages.length > 0 && pages[pages.length - 1].route === '/pages/login';
  // #endif
}

// 初始化应用
const initApp = () => {
  const token = getToken();
  const isLogin = isLoginPage();

  if (token) {
    if (isLogin) {
      // 有token且在登录页，跳转到首页
      uni.reLaunch({ url: '/pages/index/index', });
    }
    // 获取用户信息
    if (useUserStore().roles.length === 0) {
      useUserStore().getInfo();
    }
  } else {
    if (!isLogin) {
      // 没有token且不在登录页，跳转到登录页
      uni.reLaunch({ url: '/pages/login', });
    }
  }
}

onLaunch(() => {
  initApp();
});

onShow(() => { });

onHide(() => {
});

</script>
